package com.wtwd.campus.dao;

import com.wtwd.campus.entity.DeviceFlag;
import com.baomidou.mybatisplus.core.mapper.BaseMapper;
import com.wtwd.campus.model.dto.BathLockDevice;
import com.wtwd.campus.model.dto.BathLockNet;
import com.wtwd.campus.model.dto.LockDto;
import com.wtwd.campus.model.vo.DeviceFlagVo;
import org.apache.ibatis.annotations.Mapper;
import org.apache.ibatis.annotations.Param;

import java.util.List;

/**
 * <p>
 * Mapper 接口
 * </p>
 *
 * @author mjy
 * @since 2022-12-15
 */
@Mapper
public interface DeviceFlagMapper extends BaseMapper<DeviceFlag> {

    int setAppInstallationFlag(@Param("deviceId") Integer deviceId, @Param("flag") Integer flag);

    int updateLockCardInfo(@Param("deviceId") Integer deviceId, @Param("flag") int flag, @Param("pin") String pin, @Param("iccid") String iccid);

    int updateLockDeviceInfo(@Param("deviceId") Integer deviceId, @Param("flag") int flag, @Param("iccid") String iccid);

    int updateLockNetInfo(@Param("deviceId") Integer deviceId, @Param("flag") int flag, @Param("plmns") String plmns);

    List<DeviceFlagVo> getDeviceFlagByOrgCode(@Param("orgCode") String orgCode);

    int bathCreateOrUpdateLockCard(@Param("list") List<Integer> deviceIds, @Param("flag") int flag,@Param("pin") String pin);

    int bathCreateOrUpdateLockDevice(@Param("list") List<Integer> deviceIds,@Param("flag") int flag,@Param("iccid") String iccid);

    int bathCreateOrUpdateLockNet(@Param("list") List<Integer> deviceIds, @Param("flag") int flag, @Param("plmns") String plmns);

    int bathCreateOrUpdateLockCardByLockDtos(@Param("list")List<LockDto> lockDtos);

    int bathCreateOrUpdateLockDeviceByLockDtos(@Param("list")List<BathLockDevice> lockDtos);

    int bathCreateOrUpdateLockNetDtos(@Param("list")List<BathLockNet> lockDtos, @Param("plmns") String plmns);
}
